#! /bin/bash
> ../dados/clusterizacao_aleatorio
> ../dados/relacionados_aleatorios

while read autor
do
	#Encontra o autorID
	autorID=$(grep -iw -m 1 "$autor" ../dados/dicionario | cut -d " " -f1)
	
	result=$(grep "^$autorID " ../dados/grafo2_aleatorio.net | cut -d " " -f2 | tr "\n" " " )
	echo "Relacionados($autorID): $autorID $result" >> ../dados/relacionados_aleatorios

done < ../dados/autores




#Pode-se calcular o coeficente agora pois todos as relacoes foram encontradas
while read autor
do
	autorID=$(grep -iw -m 1 "$autor" ../dados/dicionario | cut -d " " -f1)

	relacionados=$(grep -iw -m 1 "Relacionados(${autorID})" ../dados/relacionados_aleatorios | cut -d":" -f2)

	degree=$(( $( echo $relacionados | wc -w) -1 ))

	arestas_existentes=0

	for elemento in $relacionados
	do
		if [ $elemento != $autorID ]
		then
			
			for x in  $( grep -iw "Relacionados(${elemento})" ../dados/relacionados_aleatorios | cut -d":" -f2)
			do
				if  [ $elemento  != $x ] && [ $x != $autorID ]
				then
#					echo "-> $x"
#					echo "$autorID ---> $x -> $element"
#					echo $(grep -iw "Relacionados(${elemento})" ../dados/relacionados_aleatorios | cut -d":" -f2)	
#					echo "contou 1"
					
					for volta in $relacionados
					do	
						if [ $volta != $elemento ] && [ $volta != $autorID ] && [ $volta = $x ]
						then
							arestas_existentes=$((arestas_existentes + 1))
							echo "$elemento --> $x"
						fi
					done
				fi
#
		
			done
		fi
#		echo $elemento
	done
	
	#Remove as duplicatas de cada aresta
	arestas_existentes=$((arestas_existentes / 2))
	echo "Existem $arestas_existentes no $autor degree $degree"

	if [ $degree -le 1 ]
	then	
		echo "1.00" >> ../dados/clusterizacao_aleatorio
	else
		echo "scale=2; (2 * ${arestas_existentes}  )/(${degree} * (${degree}-1) )" | bc >> ../dados/clusterizacao_aleatorio
	fi


done < ../dados/autores

#Encontra o coeficiente de clusterizacao medio
ccmedio=$(echo "scale=2; ($(cat ../dados/clusterizacao_aleatorio | tr '\n' '+' | sed 's/+$//g')) / $(cat ../dados/autores | wc -l) " | bc)

echo "Coeficiente medio do grafo: $ccmedio"



#Prepara para gerar o grafico comparativo de clusterizacao
cat ../dados/clusterizacao | sort -n | uniq -c | awk '{print $2 " " $1}' > ../dados/clusterizacao.plot

cat ../dados/clusterizacao_aleatorio | sort -n | uniq -c | awk '{print $2 " " $1}' > ../dados/clusterizacao_aleatorio.plot

#Plot com escala log
echo "#! /usr/bin/gnuplot" > exercicio_3.gnu
echo "set term png" >> exercicio_3.gnu
echo 'set output "../graficos/exercicio3.png"' >> exercicio_3.gnu
echo "set log x" >> exercicio_3.gnu
echo "set log y" >> exercicio_3.gnu
echo 'set title "Coeficiente de clusterizacao por N. vertice"' >> exercicio_3.gnu
echo 'set xlabel "Coeficente Cluesterizacao (log)"' >> exercicio_3.gnu
echo 'set ylabel "Quantidade de vertices (log)"' >> exercicio_3.gnu
echo 'plot "../dados/clusterizacao.plot", "../dados/clusterizacao_aleatorio.plot"' >> exercicio_3.gnu

#Gera o grafico
chmod +x exercicio_3.gnu

if [ ! -f /usr/bin/gnuplot ]
then
	echo -e '\033[01;31mGnuplot nao instalado\033[00;37m'
else
	./exercicio_3.gnu
fi

